x86/32on64: misc adjustments to call gate emulation
authorJan Beulich <jbeulich@suse.com>
Thu, 1 Sep 2016 13:23:46 +0000 (15:23 +0200)
committerJan Beulich <jbeulich@suse.com>
Thu, 1 Sep 2016 13:23:46 +0000 (15:23 +0200)
commitee1cc4bfdca84d526805c4c72302c026f5e9cd94
tree843bc6db37d9dbecf4813555a75e03f060bc056d
parentca0c9ed26cff8acd3063bfa60017c71517487658
x86/32on64: misc adjustments to call gate emulation

- There's no 32-bit displacement in 16-bit addressing mode.
- It is wrong to ASSERT() anything on parts of an instruction fetched
  from guest memory.
- The two scaling bits of a SIB byte don't affect whether there is a
  scaled index register or not.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
xen/arch/x86/traps.c